On local Area Networks (LANs) of the Ethernet type able to transmit the data at speeds higher than one gigabit/s, an unlimited number of stations can be connected to a shared medium. To control the exchange of data between the stations connected on the shared medium, Ethernet uses a protocol called Carrier Sense, Multiple Access Collision Detect (CSMA/CD). The “Multiple Access” part means that every station is indeed connected to the shared medium forming a single data path. The “Carrier Sense” part means that before transmitting data, a station checks it to see if any other station is already sending something. If the transmission medium appears to be idle then, the station can actually begin to send data. However, two stations can start transmitting at the same time, causing a collision. When this occurs, each interfering station is made able to detect it. Hence, all stations attempt to transmit, back off, and try a retransmission at randomly selected later times thus minimizing the chance of another collision.
Although Ethernet does not set an upper limit to the number of stations that can be connected on a same transmission medium there are, in practice, drastic limitations. Generally speaking, as more users are added to a shared network or, as applications requiring more data are added, performance inevitably deteriorates. This is because all users become competitors in trying to use a common resource: the shared transmission medium. It is generally agreed that, on a moderately loaded 10 Mbps Ethernet network, being shared by 30-50 users, the network can only sustain throughput in the neighborhood of 2.5 Mbps after accounting for packet overhead, inter packet gaps and collisions resulting of the use of the here above CSMA/CD protocol. Thus, yet simple, CSMA/CD protocol, suffers drastic limitations in its ability to take advantage of the intrinsic performance of the shared transmission medium i.e., 10 Mbps in this example. Further increasing the number of users (and therefore packet transmissions) creates an even higher collision potential. Since collisions occur when two or more stations attempt to send information at the same time, when these stations realize that a collision has occurred, they must, to obey standard, all shut off for a random time before attempting another transmission. This tends to add a considerable overhead, severely impacting performance, until the mechanism just collapses when medium is attempted to be too much utilized.
One well-known solution to alleviate this problem is to segment traffic over independent, disjoint, smaller collision domains, but at the expense of having to put in place extra devices to allow communication between the independent pieces thus created of a LAN. This may be a bridge or a switch. For example, an eight-port high-speed switch can support eight Ethernets, each running at a full 10 Mbps so as to be able to interconnect more users on what appear to them as a single LAN. Such a solution consisting in creating a more expensive and complicated network goes against the original objectives of the Ethernet LAN that wanted to be a very inexpensive solution, simple to administrate for local communications, over a campus or between the employees of a company dispersed over a group of buildings.
Another solution consists in implementing a passing-token mechanism of Token Ring LAN type so that the physical Ethernet network becomes collision free and therefore can be used at higher rates. In this mechanism, a logical ring is formed between connected stations and a token is circulated among those of the connected stations part of the logical ring. Then, transmitting from any one station part of the logical ring is only permitted while holding the token thereby, preventing collisions from happening. But, even though the above system prevents the collisions between stations from happening, it does not prevent a station from monopolizing the bandwidth while the other stations cannot transmit.
The above drawback can be solved by using a method wherein a credit of data bytes is allowed to each station and can be transmitted upon reception of the token by the station, such a credit being increased in proportion to the time spent since the preceding reception of the token. Unfortunately, the need of a station varies during the time. A station may need to use a lot of bandwidth at a certain time and less bandwidth later on. Typically, the needs for bandwidth are related to the applications running on the station. If a station is configured with a static credit of bytes which is too low for running an application, this one will experience some problems (jitter, lost packets . . . ). Conversely, if the station is configured with a high credit of bytes, the application will work correctly but the station will keep a high credit, even after the application has been ended, resulting in a part of bandwidth which is no more used and cannot be used by the other stations of the logical ring.